Verarbeitung eines einzigen Satzes unter DAO

Der folgende Bildschirmausschnitt stammt aus Testverwaltung.mdb. Das Formular FrmZuordnung enthält rechts oben das Textfeld Zeitbudget. Ein Klick auf fügt einen voreingestellten Wert (engl. default) ein. Die Voreinstellung ist gleich der Zahl der Musterlösungspaare in der Spalte Lösung.


Die folgende Ereignisprozedur beantwortet einen Klick auf die Schaltfläche BtnVoreinstellenZeitbudget (). Der voreingestellte Wert ist gleich der Zahl der Lösungspaare und wird mit einer einfachen Form der Satzverarbeitung aus dem Recordset rstZOLösungen bestimmt:

'--- Zeitbudget voreinstellen 
'    (Zeitbudget = Zahl der Lösungspaare der Zuordnungsaufgabe in Minuten)
Private Sub BtnVoreinstellenZeitbudget_Click()
  Dim rstZOLösungen As Recordset
  Dim lfFragenschlüssel As Long
  Dim voreingestelltesZeitbudget As Single

  '-- Zahl der Lösungspaare der Zuordnungsaufgabe ermitteln
  lfFragenschlüssel = [Forms]![FrmAllgemeines]![Fragenschlüssel]
  Set rstZOLösungen = CurrentDb.OpenRecordset("SELECT " & _
    "Count(Fragenschlüssel) " & _
    "AS [Zahl_ZOLösungen] FROM ZUORDNUNGS_LÖSUNGEN " & _
    "WHERE Fragenschlüssel=" & lfFragenschlüssel & ";")
  'Satzzeiger auf dem ersten (und hier einzigen) Satz des SQL-Ergebnisses
  With rstZOLösungen
    voreingestelltesZeitbudget = !Zahl_ZOLösungen
    .Close
  End With
  Set rstZOLösungen = Nothing

  If voreingestelltesZeitbudget > 0 Then
    Me![TxfZeitbudget] = voreingestelltesZeitbudget
  Else
    MsgBox "Keine Voreinstellung berechenbar. Zuerst die Lösung einfügen", _
      vbOKOnly + vbExclamation, "Voreinstellung"
  End If
End Sub

Zusätzliche Erläuterungen

Satzorientierte Verarbeitung unter DAO

Satzverarbeitung in einer Schleife

MS Access-Steuerelemente